﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SiteAgle.Models;

namespace SiteAgle.Controllers
{
    public class ComentariosController : Controller
    {
        //
        // GET: /Comentarios/

        public ActionResult Index(int id)
        {
            ViewData["idTarefa"] = id;
            return View(new DaoComentario().listarPorTarefa(id));
        }

        //
        // GET: /Comentarios/Details/5

        public ActionResult detalhe(int id)
        {
            DaoComentario dao = new DaoComentario();

            Comentarios cont = dao.ObterPorID(id);
            cont.Lido = true;
            dao.Salvar(cont);
            return View(cont);
        }

        //
        // GET: /Comentarios/Create

        public ActionResult Novo(int id)
        {
            Comentarios comentarios = new Comentarios();
            comentarios.IdTarefa=  id;
            return View(comentarios );
        } 

        //
        // POST: /Comentarios/Create

        [HttpPost]
        public ActionResult Novo(Comentarios comen, FormCollection collection)
        {
            //try
            //{
            //    // TODO: Add insert logic here
            comen.Tarefa = new DaoTarefa().ObterPorID(comen.IdTarefa);
                comen.Usuario = ViewHelper.UserHelper.user;
                new DaoComentario().Salvar(comen);
             Session["sucesso"] = "Criado com sucesso";
                return Redirect("~/comentarios/index/" + comen.IdTarefa);
            //}
            //catch
            //{
            //    return View();
            //}
        }
        
        //
        // GET: /Comentarios/Edit/5
 
        public ActionResult Editar(int id)
        {
            return View(new DaoComentario().ObterPorID(id));
        }

        //
        // POST: /Comentarios/Edit/5

        [HttpPost]
        public ActionResult Editar(Comentarios cont, int id, FormCollection collection)
        {
            //try
            //{
                // TODO: Add update logic here
            DaoComentario dao  =new DaoComentario();

            Comentarios _cont = dao.ObterPorID(id);
            _cont.Comentario = cont.Comentario;
            dao.Salvar(_cont);
            Session["sucesso"] = "Salvo com sucesso";
                return RedirectToAction("Index");
            //}
            //catch
            //{
            //    return View();
            //}
        }

        //
        // GET: /Comentarios/Delete/5
 
        public ActionResult Delete(int id)
        {
            return View();
        }

        //
        // POST: /Comentarios/Delete/5

        [HttpPost]
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                DaoUsuario dao = new DaoUsuario();
                Usuario antUsuario = dao.ObterPorID(id);
                if (antUsuario.Projetos.Count() == 0 && antUsuario.Tarefas.Count() == 0 && antUsuario.Comentarios.Count() == 0 && antUsuario.GrupoTrabalho.Count() == 0)
                {
                    dao.Excluir(antUsuario);
                }
                else
                {
                    Session["Error"] = "Não é possível Excluir esse usuário, pois ele possui dependências!";
                }
                return RedirectToAction("Index");
 
                
            }
            catch
            {
                return View();
            }
        }
    }
}
